import FlyIO from 'flyio/dist/npm/wx'
import store from '../store'

// 创建新的 FlyIO 实例
const http = new FlyIO()

// 设置超时(服务器性能偏差)
http.config.timeout = 30000

// 设置请求基地址
http.config.baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'

// 请求拦截器
http.interceptors.request.use(request => {
  uni.showLoading({
    title: '加载中...',
    mask: true
  })
  // if (request.url.includes('/my')) {
  // if (request.url.indexOf('/my') >= 0) {
  // includes 判断是否包含   布尔类型
  // indexOf 检索字符是否存在 如果存在返回的是下标, 否则是-1
  // startsWith 判断是否以xxx开头    布尔类型
  // 支付,提交token
  if (request.url.startsWith('/my')) {
    this.headers.Authorization = store.state.user.token
  }
  return request
})

// 响应拦截器
http.interceptors.response.use(
  response => {
    // 显示加载框
    uni.hideLoading()

    // 只取返回的数据字段
    return response.data
  },
  err => {
    uni.hideLoading()
    return Promise.reject(err)
  }
)

// 导出
export default http
